package com.rbac.admin.mapper.system;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.rbac.admin.entity.system.SysOperationLog;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 系统操作日志Mapper
 * 
 * @author RBAC-Admin
 * @since 2024-01-01
 */
@Mapper
public interface SysOperationLogMapper extends BaseMapper<SysOperationLog> {

    /**
     * 分页查询操作日志
     * 
     * @param page 分页参数
     * @param username 用户名（模糊查询）
     * @param roleName 角色名称（模糊查询）
     * @param operationModule 操作模块
     * @param operationType 操作类型
     * @param operationResult 操作结果
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @return 分页结果
     */
    IPage<SysOperationLog> selectLogPage(
            Page<SysOperationLog> page,
            @Param("username") String username,
            @Param("roleName") String roleName,
            @Param("operationModule") String operationModule,
            @Param("operationType") String operationType,
            @Param("operationResult") Integer operationResult,
            @Param("startTime") String startTime,
            @Param("endTime") String endTime
    );
}